home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Network Supervisor's Toolkit
/
Network Supervisor's Toolkit.iso
/
tools
/
tpnova
/
novhdr.doc
< prev
next >
Wrap
Text File
|
1996-07-10
|
42KB
|
900 lines
unit NovAPI;
(**************************************************************************)
(* Turbo Pascal/Novell API Interface Library *)
(* *)
(* Copyright (c) 1991 by 'LANtic Software. *)
(* All rights reserved. *)
(* *)
(**************************************************************************)
interface
uses DOS;
const
USER_OBJECT = 1;
GROUP_OBJECT = 2;
PRINT_QUEUE_OBJECT = 3;
FILE_SERVER_OBJECT = 4;
JOB_SERVER = 5;
GATEWAY_OBJECT = 6;
PRINT_SERVER_OBJECT = 7;
ARCHIVE_QUEUE_OBJECT = 8;
ARCHIVE_SERVER_OBJECT = 9;
JOB_QUEUE = 10;
ADMINSTRATIVE_OBJECT = 11;
REMOTE_BRIDGE_SERVER = 36;
ADVERTISING_PRINT_SERVER = 71;
ANY_OBJECT = -1;
{$I NOVERR}
STATIC_BINDERY = 0;
DYNAMIC_BINDERY = 1;
ITEM_PROPERTY = 0;
SET_PROPERTY = 2;
ANYONE_READ = $00;
LOGGED_READ = $01;
OBJECT_READ = $02;
SUPERVISOR_READ = $03;
NETWORK_READ = $04;
ANYONE_WRITE = $00;
LOGGED_WRITE = $10;
OBJECT_WRITE = $20;
SUPERVISOR_WRITE = $30;
NETWORK_WRITE = $40;
READ_RIGHTS = $01;
WRITE_RIGHTS = $02;
OPEN_RIGHTS = $04;
CREATE_RIGHTS = $08;
DELETE_RIGHTS = $10;
PARENTAL_RIGHTS = $20;
SEARCH_RIGHTS = $40;
MODIFY_RIGHTS = $80;
STANDARD_RIGHTS = READ_RIGHTS or OPEN_RIGHTS or SEARCH_RIGHTS;
ALL_RIGHTS = $0FF;
NORMAL_FILES = $00;
HIDDEN_FILES = $02;
SYSTEM_FILES = $04;
FA_READ_ONLY = $01; (* file attibutes *)
FA_HIDDEN = $02;
FA_SYSTEM = $04;
FA_EXECUTE_ONLY = $08;
FA_SUBDIRECTORY = $10;
FA_ARCHIVE = $20;
FA_SHAREABLE = $80;
EFA_TRANSACTIONAL = $10; (* extended file attributes *)
EFA_INDEXED = $20;
EFA_READ_AUDIT = $40;
EFA_WRITE_AUDIT = $80;
PREVENT_QUEUE_ADDS = 01;
PREVENT_SERVER_ATTACH = 02;
PREVENT_SERVER_SERVICE = 04;
OPERATOR_HOLD = $80;
USER_HOLD = $40;
ENTRY_OPEN = $20;
SERVICE_RESTART = $10;
SERVICE_AUTO_START = $08;
type
QueueTimeRecord = RECORD
Year : 0..255;
Month : 1..12;
Day : 1..31;
Hour : 0..23;
Minute : 0..59;
Second : 0..59;
end;
ServerTimeRecord = QueueTimeRecord;
Days = (SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY);
NetworkTimeRecord = RECORD
Year : 0..255;
Month : 1..12;
Day : 1..31;
Hour : 0..23;
Minute : 0..59;
Second : 0..59;
DayOfWeek : 0..6;
end;
string13 = string[13];
string15 = string[15];
string16 = string[16];
string27 = string[27];
string47 = string[47];
string48 = string[48];
string55 = string[55];
string60 = string[60];
string63 = string[63];
string64 = string[64];
string79 = string[79];
string80 = string[80];
string99 = string[99];
string100 = string[100];
string126 = string[126];
string127 = string[127];
Array32 = array[1..32] of byte;
Array32Ptr = ^Array32;
ServerName = array[1..48] of char;
NameTable = array[1..8] of ServerName;
NameTablePtr = ^NameTable;
LPTNames = (LPT1,LPT2,LPT3);
DownServerCommands = (CONDITIONAL,FOURCE_IT);
WhichJobs = (THIS_JOB,ALL_JOBS);
BroadcastModes = (STORE_DISPLAY,REJECT_DISPLAY,REJECT_IGNORE,STORE_IGNORE);
LockModes = (NETWARE46,ADVANCED_NETWARE);
LockDirectives = (EXCLUSIVE,SHAREABLE_READ_ONLY);
LogModes = (LOG_ONLY,LOG_AND_LOCK);
LogicalLockDirectives = (LOG_LOCK,EXCLUSIVE_LOCK,dummy,SHARABLE_READ_ONLY_LOCK);
EndOfJobStatus = (DISABLE_EOJ,ENABLE_EOJ);
ErrorModes = (NETWARE_CRITICAL,EXTENDED_ALL,EXTENDED_CRITICAL);
CommentTypes = (UNKNOWN,CONNECT_TIME,STORAGE,LOG_IN,LOG_OUT,
ACC_LOCKED,TIME_MODIFIED,AUDIT_NOTE);
TrusteeIDArray = array[1..5] of longint;
TrusteeRightsArray = array[1..5] of byte;
NetworkAddress = array[1..4] of byte;
NodeAddress = array[1..6] of byte;
SocketAddress = word;
InternetworkAddress = RECORD
NetworkNumber : NetworkAddress;
PhysicalNodeNumber : NodeAddress;
SocketNumber : SocketAddress;
end;
ConnectionEntry = RECORD
InUse : boolean;
ConnectionID : byte;
ServerAddress : InternetworkAddress;
ReceiveTimeOut : word;
RouterPhysicalNode : NodeAddress;
SequenceNumber : byte;
ConnectionNumber : byte;
ConnectionOK : byte;
MaximumTimeOut : word;
Filler : array[1..5] of byte;
end;
ConnectionTable = array[1..8] of ConnectionEntry;
ConnectionTablePointer = ^ConnectionTable;
DriveHandleTable = array[1..32] of byte;
DriveHandleTablePtr = ^DriveHandleTable;
DriveConnectionTable = array[1..32] of byte;
DriveConnectionTablePtr = ^DriveConnectionTable;
DriveFlagTable = array[1..32] of byte;
DriveFlagTablePtr = ^DriveFlagTable;
FormArray = array[1..22] of char;
BannerArray = array[1..13] of char;
FileArray = array[1..14] of char;
DirArray = array[1..80] of char;
DescripArray = array[1..50] of char;
NetwarePrintQueueHeaderType = RECORD
TabSize : word;
NumberCopies : word;
Unknown : byte;
PrintFlags : byte; (* >> bit 80 = Use Banner, 40 = Use tabs *)
PageWidth : word; (* 08 = FF off, 04 = ???? *)
PageLength : word;
FormName : FormArray;
BannerPhrase : BannerArray;
BannerFile : BannerArray;
FileName : FileArray;
NetworkPath : DirArray;
end;
JobEntryRecord = RECORD
ClientStation : byte;
ClientTask : byte;
ClientIDNumber : longint;
TargetServerIDNumber : longint;
TargetExecutionTime : QueueTimeRecord;
JobEntryTime : QueueTimeRecord;
JobNumber : word;
JobType : word;
JobPosition : byte;
JobControlFlags : byte;
JobFileName : array[1..14] of char;
JobFileHandle : array[1..6] of byte;
ServerStation : byte;
ServerTask : byte;
ServerIDNumber : longint;
TextJobDescription : DescripArray;
ClientRecordArea : array[1..152] of byte;
end;
JobArray = array[1..250] of word;
CaptureFlags = RECORD
Status : byte;
PrintFlags : byte;
TabSize : byte;
ServerPrinter : byte;
NumberOfCopies : byte;
FormType : byte;
reserved1 : byte;
BannerText : BannerArray;
reserved2 : byte;
LocalLPTDevice : LPTNames;
FlushTimeOutCount : word;
FlushOnDeviceClose : byte;
MaxLines : word;
MaxChars : word;
FormName : BannerArray
end;
PrintFlagInformation = RECORD
CaptureInfo : CaptureFlags;
LPTCaptureFlagSet : boolean;
FileCaptureFlagSet : boolean;
TimingOutFlagSet : boolean;
PrinterSetupString : pointer;
PrinterResetString : pointer;
QueuingServerConnectionNbr : byte;
CaptureInProgress : boolean;
PrintQueueFlagSet : boolean;
PrintJobIsValid : boolean;
PrintQueueObjectID : longint;
PrintJobNumber : word;
end;
IDList = array[1..25] of longint;
StationList = array[1..25] of byte;
ServerStatusType = RECORD
JobPrice : longint;
Description : array[1..60] of byte;
end;
DynamicMemoryRec = RECORD
TotalDynamicSpace : longint;
MaxUsedDynamicSpace : longint;
CurrentUsedDynamicSpace : longint;
end;
ServerMiscInformation = RECORD
SystemElapsedTime : longint;
ProcessorType : byte;
reserved : byte;
NumberOfServiceProcesses : byte;
ServerUtilizationPercentage : byte;
ConfiguredMaxBinderyObjects : word;
ActualMaxBinderyObjects : word;
CurrentUsedBinderyObjects : word;
TotalServerMemory : word;
WastedServerMemory : word;
DynamicMemoryRecs : word;
DynamicMemory : array[1..3] of DynamicMemoryRec;
end;
ServerLANIOStatistics = RECORD
SystemElapsedTime : longint;
ConfiguredMaxRoutingBuffers : word;
ActualMaxUsedRoutingBuffers : word;
CurrentlyUsedRoutingBuffers : word;
TotalFileServicePackets : longint;
FileServicePacketsBuffered : word;
InvalidConnectionPackets : word;
BadLogicalConnectionNumber : word;
PacketsReceivedDuringProcessing : word;
ReprocessedRequests : word;
BadSequenceNumberPackets : word;
DuplicateRepliesSent : word;
AcknowledgesSent : word;
PacketsWithBadRequestType : word;
AttachDuringProcessing : word;
AttachWhileProcessingAttach : word;
ForgedDetachRequests : word;
DetachForBadConnectionNumber : word;
DetachDuringProcessing : word;
RepliesCanceled : word;
PacketsDiscardedByHopCount : word;
PacketsDiscardedUnknownNet : word;
IncomingPacketDiscardedNoDGroupBuffer : word;
OutgoingPacketDiscardedNoBuffer : word;
IPXnotMyNetwork : word;
NETBIOSbroadcastWasPropagated : longint;
TotalOtherPackets : longint;
TotalRoutedPackets : longint;
end;
FileSystemStatistics = RECORD
SystemElapsedTime : longint;
ConfiguredMaxOpenFiles : word;
ActualMaxOpenFiles : word;
CurrentOpenFiles : word;
TotalFilesOpened : longint;
TotalReadRequests : longint;
TotalWriteRequests : longint;
CurrentChangedFATS : word;
TotalChangedFATS : word;
FATWriteErrors : word;
FatalFATWRiteErrors : word;
FATScanErrors : word;
ActualMaxIndexedFiles : word;
ActiveIndexedFiles : word;
AttachedIndexedFiles : word;
AvailableIndexedFiles : word;
end;
FileServerInformation = RECORD
ServerName : string47;
NetWareVersion : byte;
NetWareSubVersion : byte;
ConnectionsSupported : word;
ConnectionsInUse : word;
MaxConnectedVolumes : word;
OSRevisionNumber : byte;
SFTLevel : byte;
TTSLevel : byte;
PeakConnectionsUsed : word;
AccountingVersion : byte;
VAPVersion : byte;
QueuingVersion : byte;
PrintServerVersion : byte;
VirtualConsoleVersion : byte;
SecurityRestrictionsLevel : byte;
InternetworkBridgeVersion : byte;
Reserved : array[1..60] of byte;
end;
ChannelSyncType = (AVAILABLE, x1,
NETWARE_NONE_WAITING, x2,
NETWARE_WAITING, x3,
OTHER_NONE_WAITING, x4,
OTHER_NETWARE_WAITING, x5,
RELEASED_NETWARE_WAITING);
DiskChannelStatistics = RECORD
SystemElapsedTime : longint;
ChannelState : integer;
ChannelSynchronizationState : ChannelSyncType;
spacer : byte;
DriverType : byte;
DriverMajorVersion : byte;
DriverMinorVersion : byte;
DriverDescription : string64;
IOAddressesUsed : array[1..4] of word;
SharedMemoryAddresses : array[1..4] of word;
Interrupt1Used : boolean;
Interrupt1 : byte;
Interrupt2Used : boolean;
Interrupt2 : byte;
DMAChannel1Used : boolean;
DMAChannel1 : byte;
DMAChannel2Used : boolean;
DMAChannel2 : byte;
ConfigurationDescription : string79;
end;
DiskCacheStatistics = RECORD
SystemElapsedTime : longint;
BufferCount : integer;
BufferSize : integer;
DirtyBuffers : integer;
ReadRequests : longint;
WriteRequests : longint;
Hits : longint;
Misses : longint;
PhysicalReadRequests : longint;
PhysicalWriteRequests : longint;
PhysicalReadErrors : integer;
PhysicalWriteErrors : integer;
GetRequests : longint;
FullWriteRequests : longint;
PartialWriteRequests : longint;
BackgroundDirtyWrites : longint;
BackgroundAgedWrites : longint;
TotalWrites : longint;
Allocations : longint;
ThrashingCount : integer;
LRUBlockWasDirty : integer;
ReadBeyondWrite : integer;
FragmentedWriteOccurred : integer;
HitOnUnavailablleBlock : integer;
BlockScrapped : integer;
end;
VolumeInformation = RECORD
SectorsPerBlock : word;
TotalBlocks : word;
AvailableBlocks : word;
TotalDirectorySlots : word;
AvailableDirectorySlots : word;
VolumeName : string15;
RemovableVolume : boolean;
end;
WorkstationEnvironment = RECORD
WorkstationOperatingSystem : byte;
MajorNetWareShellVersion : byte;
MinorNetWareShellVersion : byte;
ShellRevisionNumber : byte;
Environment : array[1..40] of char;
end;
SemaphoreInfo = RECORD
OpenCount : word;
Value : byte;
TaskNumber : byte;
Name : string[127];
end;
SemaphoreInfoArray = array[1..5] of SemaphoreInfo;
DriveMapArray = array[1..32] of byte;
ServerDriveMappingTable = RECORD
SystemElapsedTime : longint;
SFTLevel : byte;
LogicalDriveCount : byte;
PhysicalDriveCount : byte;
DiskChannelTable : array[1..5] of byte;
PendingIOCommands : word;
DriveMappingTable : DriveMapArray;
DriveMirrorTable : DriveMapArray;
DeadMirrorTable : DriveMapArray;
RemirroredDrive : byte;
reserved : byte;
RemirroredBlock : longint;
SFTErrorTable : array[1..60] of byte;
end;
RemainingSpaceRecord = RECORD
SystemElapsedTime : longint;
ObjectID : longint;
UnusedDiskBlocks : longint;
RestrictionsEnforced : boolean;
end;
PhysicalVolumeInformation = RECORD
SystemElapsedTime : longint;
VolumeNumber : byte;
LogicalDriveNumber : byte;
SectorsPerBlock : word;
StartingBlockNumber : longint;
TotalBlocks : word;
AvailableBlocks : word;
TotalDirectorySlots : word;
AvailableDirectorySlots : word;
ActualMaxUsedDirectoryEntries : word;
IsHashing : boolean;
IsCaching : boolean;
IsRemovable : boolean;
IsMounted : boolean;
Name : string15;
end;
PhysicalDiskStatistics = RECORD
SystemElapsedTime : longint;
PhysicalDiskChannel : byte;
DriveRemovable : boolean;
DriveType : byte;
ControllerDriveNumber : byte;
ControllerNumber : byte;
ControllerType : byte;
DriveSize : longint;
DriveCylinders : word;
DriveHeads : byte;
SectorsPerTrack : byte;
DriveDefinitionString : string63;
IOErrorCount : integer;
HotFixTableStart : longint;
HotFixTableSize : integer;
HotFixBlocksAvailable : integer;
HotFixDisabled : boolean;
end;
AccountHoldServerRec = RECORD
ServerID : longint;
Amount : longint;
end;
AccountHoldServerArray = array[1..16] of AccountHoldServerRec;
SemaphoreInformation = RECORD
LogicalConnectionNumber : integer;
TaskNumber : byte;
end;
SemaphoreInformationRecords = array[1..168] of SemaphoreInformation;
var
NetResult : integer;
procedure AbortServiceQueueJob(QueueID : longint; JobNumber : integer);
procedure AddObjectToSet(WhichObject : string47; WhatType : integer;
WhichProperty : string15;
NewMemberName : string47; NewMemberType : integer);
procedure AddTrusteeToDirectory(WhichObjectID : longint;
DirectoryHandle : integer; Directory : string;
RightsMask : byte);
procedure AllocPermanentDirectoryHandle(CurrentHandle : byte;
Directory : string; DriveLetter : char;
var NewHandle, EffectiveRights : byte);
procedure AllocSpecialTemporaryDirectoryHandle(CurrentHandle : byte;
Directory : string; DriveLetter : char;
var NewHandle, EffectiveRights : byte);
procedure AllocTemporaryDirectoryHandle(CurrentHandle : byte;
Directory : string; DriveLetter : char;
var NewHandle, EffectiveRights : byte);
procedure AttachServerToQueue(QueueID : longint);
procedure AttachToFileServer(ConnectionID : byte);
procedure BroadcastToConsole(Message : string60);
procedure CancelLPTCapture;
procedure CancelSpecificCapture(Device : LPTNames);
procedure ChangeJobQueueEntry(QueueID : longint;
var Job : JobEntryRecord);
procedure ChangeJobQueuePosition(QueueID : longint; JobNumber : integer;
NewPosition : byte);
procedure ChangeObjectPassword(WhichObject : string47; WhatType : integer;
OldPassword, NewPassword : string127);
procedure ChangeObjectSecurity(WhichObject : string47; WhatType : integer;
NewSecurity : byte);
procedure ChangePropertySecurity(WhichObject : string47; WhatType : integer;
WhichProperty : string15; NewSecurity : byte);
procedure ChangeServersRightsToClientsRights(QueueID : longint; JobNumber : integer);
procedure CheckPipeStatus(ConnectionList : string100;
var ResultList : string100);
procedure ClearConnectionNumber(LogicalConnectionNumber : byte);
procedure ClearFile(FileName : string);
procedure ClearFileSet;
procedure ClearLogicalRecord(LogicalRecordName : string99);
procedure ClearLogicalRecordSet;
procedure ClearPhysicalRecord(FileHandle : integer;
RecordOffset, RecordLength : longint);
procedure ClearPhysicalRecordSet;
procedure CloseAndStartQueueJob(QueueID : longint; JobNumber : integer);
procedure CloseBindery;
procedure CloseMessagePipe(ConnectionList : string100;
var ResultList : string100);
procedure CloseSemaphore(SemaphoreHandle : longint);
function ConnectionNumber : integer;
procedure CreateDirectory(NewDirectory : string; NewDirectoryHandle : byte;
MaximumRights : byte);
procedure CreateObject(NewObject : string47; NewType : integer;
ObjectFlag,ObjectSecurity : byte);
procedure CreateProperty(WhichObject : string47; WhatType : integer;
NewProperty : string15; NewFlags,NewSecurity : byte);
procedure CreateQueue(QueueName,QueuePath : string; QueueBase : byte;
var NewQueueID : longint);
procedure CreateQueueJob(QueueID : longint; var Job : JobEntryRecord);
procedure DeallocateDirectoryHandle(DirectoryHandle : byte);
function DefaultConnectionID : integer;
function DefaultLocalPrinter : LPTNames;
procedure DeleteDirectory(Directory : string; DirectoryHandle : byte);
procedure DeleteObject(WhichObject : string47; WhatType : integer);
procedure DeleteObjectFromSet(WhichObject : string47; WhatType : integer;
WhichProperty : string15;
MemberName : string47; MemberType : integer);
procedure DeleteProperty(WhichObject : string47; WhatType : integer;
NewProperty : string15);
procedure DeleteTrusteeFromDirectory(WhichObjectID : longint;
DirectoryHandle : integer;
Directory : string);
procedure DestroyQueue(QueueID : longint);
procedure DetachFromFileServer(ConnectionID : byte);
procedure DetachServerFromQueue(QueueID : longint);
procedure DisableFileServerLogin;
procedure DisableTransactionTracking;
procedure DownFileServer(OpCode : DownServerCommands);
procedure EnableFileServerLogin;
procedure EnableTransactionTracking;
procedure EndLPTCapture;
procedure EndOfJob(OpCode : WhichJobs);
procedure EndSpecificCapture(Device : LPTNames);
procedure EnterLoginArea(NumberOfLocalDrives : byte;
LoginSubdirectory : string);
procedure ExamineSemaphore(SemaphoreHandle : longint;
var SemaphoreValue : integer;
var OpenCount : integer);
procedure FileServerFileCopy(SourceHandle,DestinationHandle : word;
SourceOffset,DestinationOffset : longint;
BytesToCopy : longint;
var BytesCopied : longint);
function FileServerLoginEnabled : boolean;
procedure FinishServiceQueueJob(QueueID : longint; JobNumber : integer;
Charge : longint);
procedure FlushLPTCapture;
procedure FlushSpecificCapture(Device : LPTNames);
procedure GetAccountStatus(WhichObject : string47; WhatType : integer;
var AccountBalance, CreditLimit : longint;
var ServerList : AccountHoldServerArray);
procedure GetBannerUserName(var BannerUserName : BannerArray);
procedure GetBinderyAccessLevel(var SecurityAccessLevel : byte);
procedure GetBroadcastMessage(var BroadcastMessage : string55);
procedure GetBroadcastMode(var Mode : BroadcastModes);
procedure GetConnectionIDTable(var ShellConnectionTable : ConnectionTablePointer);
procedure GetConnectionInformation(WhichConnection : integer;
var ObjectID : longint;
var ObjectType : integer;
var ObjectName : string47;
var ObjectLogin : NetworkTimeRecord);
procedure GetConnectionsSemaphores(ConnectionNumber : integer;
var LastSeen : integer;
var NumberRecords : byte;
var InfoRec : SemaphoreInfoArray);
procedure GetDefaultPrintJobFlags(var Flags : PrintFlagInformation);
procedure GetDirectoryHandle(Drive : char;
var DirectoryHandle, StatusFlag : byte);
procedure GetDirectoryPath(DirectoryHandle : byte;
var Directory : string);
procedure GetDiskCacheStatistics(var InfoRec : DiskCacheStatistics);
procedure GetDiskChannelStatistics(ChannelNbr : byte;
var InfoRec : DiskChannelStatistics);
procedure GetDiskUtilization(WhichObjectID : longint; WhatVolume : byte;
var UsedDirectories,UsedFiles,UsedBlocks : integer);
procedure GetDriveConnectionIDTable(var DrvConnectionTable : DriveConnectionTablePtr);
procedure GetDriveFlagTable(var DrvFlagTable : DriveFlagTablePtr);
procedure GetDriveHandleTable(var DrvHandleTable : DriveHandleTablePtr);
procedure GetDriveMappingTable(var InfoRec : ServerDriveMappingTable);
procedure GetEffectiveDirectoryRights(Directory : string; DirHandle : byte;
var EffectiveRights : byte);
procedure GetExtendedFileAttributes(FileName : string; var ExtendedAttributes : byte);
procedure GetFileServerDateAndTime(var NetworkTime : NetworkTimeRecord);
procedure GetFileServerDescriptionStrings(var CompanyName,Revision,RevisionDate,Copyright : string);
procedure GetFileServerInformation(var InfoRec : FileServerInformation);
procedure GetFileServerNameTable(var ServerNameTable : NameTablePtr);
procedure GetFileSystemStatistics(var InfoRec : FileSystemStatistics);
procedure GetInternetAddress(ConnectionNumber : integer;
var ConnectionAddress : InternetworkAddress);
procedure GetJobsQueueEntryFileSize(QueueID : longint;
JobNumber : integer;
var FileSize : longint);
procedure GetLANDriversConfiguationInformation(WhichLAN : byte;
var Address : NetworkAddress;
var HostAddress : NodeAddress;
var LANDriverInstalled : boolean;
var OptionNumber : byte;
var ConfigurationText : string);
procedure GetListOfQueueJobs(QueueID : longint;
var JobCount : integer;
var Jobs : JobArray);
procedure GetLockMode(var Mode : LockModes);
procedure GetObjectConnectionNumbers(WhichObject : string47; WhatType : integer;
var ConnectionList : string100);
procedure GetObjectID(WhichObject : string47; WhatType : integer;
var ObjectID : longint);
procedure GetObjectName(WhichObjectID : longint;
var ObjectName : string47; var ObjectType : integer);
procedure GetObjectsRemainingDiskSpace(WhichObjectID : longint;
var InfoRec : RemainingSpaceRecord);
procedure GetPersonalMessage(var WhoSentIt : byte; var Message : string);
procedure GetPrinterStatus(ServerPrinter :byte;
var ServerPrinterStopped,
ServerPrinterOffLine : boolean;
var ServerPrinterFormType : byte);
procedure GetSemaphoreInformation(SemaphoreName : string;
var LastSeen,OpenCount : integer;
var Value : shortint;
var NumberRecords : byte;
var Information : SemaphoreInformationRecords);
procedure GetServerLANIOStatistics(var InfoRec : ServerLANIOStatistics);
procedure GetServerMiscInformation(var InfoRec : ServerMiscInformation);
procedure GetSpecificCaptureFlags(Device : LPTNames;
var Flags : PrintFlagInformation);
procedure GetStationAddress(var ThisNodeAddress : NodeAddress);
procedure GetVolumeInformation(VolNumber : byte;
var InfoRec : PhysicalVolumeInformation);
procedure GetVolumeInfoWithHandle(DirHandle : integer; var InfoRec : VolumeInformation);
procedure GetVolumeInfoWithNumber(VolNumber : integer; var InfoRec : VolumeInformation);
procedure GetVolumeName(VolumeNumber : byte; var VolumeName : string15);
procedure GetVolumeNumber(VolumeName : string15;
var VolumeNumber : byte);
procedure GetWorkstationEnvironment(var EnvironmentInfo : WorkstationEnvironment);
function IsObjectInSet(WhichObject : string47; WhatType : integer;
WhichProperty : string15;
MemberName : string47; MemberType : integer) : boolean;
procedure LockFileSet(TimeOutTics : integer);
procedure LockLogicalRecordSet(TimeOutTics : integer);
procedure LockPhysicalRecordSet(Mode : LockDirectives; TimeOutTics : integer);
function LoggedHasConsolePrivileges : boolean;
procedure LogFile(FileName : string; Mode : LogModes; TimeOutTics : integer);
procedure LogLogicalRecord(RecordName : string99;
Mode : LogicalLockDirectives; TimeOutTics : integer);
procedure LogNetworkMessage(Message : string80);
procedure LogPhysicalRecord(FileHandle : word; Mode : LogicalLockDirectives;
RecordStartOffset, RecordLength : longint;
TimeOutTics : integer);
procedure LoginToFileServer(WhichObject : string47; WhatType : integer;
Password : string27);
procedure LogOut;
procedure LogOutFromFileServer(ConnectionID : integer);
function LPTCaptureActive(var QueuingServerConnectionID : integer) : boolean;
procedure ModifyMaximumRightsMask(Directory : string; DirHandle : byte;
RevokeRights, GrantRights : byte);
function NumberOfLocalDrives : integer;
procedure OpenBindery;
procedure OpenMessagePipe(DestinationConnections : string100;
var InitialPipeStatus : string100);
procedure OpenSemaphore(SemaphoreName : string127; InitialValue : integer;
var SemaphoreHandle : longint; var OpenCount : integer);
function PreferredConnectionID : integer;
function PrimaryConnectionID : integer;
procedure PurgeAllErasedFiles;
procedure PurgeErasedFiles;
procedure ReadJobQueueEntry(QueueID : longint; JobNumber : integer;
var Job : JobEntryRecord);
procedure ReadPropertyValue(WhichObject : string47; WhatType : integer;
WhichProperty : string15; SegmentNumber : integer;
var Property;
var PropertyFlags : byte;
var MoreSegments : boolean);
procedure ReadQueueCurrentStatus(QueueID : longint;
var QueueStatus : byte;
var NumberOfEntries : byte;
var NumberOfServers : byte;
var ServerIDList : IDList;
var ServerStationList : StationList);
procedure ReadServerCurrentStatus(QueueID,ServerID : longint;
ServerStation : byte;
var ServerStatus : ServerStatusType);
procedure ReleaseFile(FileName : string);
procedure ReleaseFileSet;
procedure ReleaseLogicalRecord(LogicalRecord : string99);
procedure ReleaseLogicalRecordSet;
procedure ReleasePhysicalRecord(FileHandle : word;
RecordStartOffset, RecordLength : longint);
procedure ReleasePhysicalRecordSet;
procedure RemoveJobFromQueue(QueueID : longint; JobNumber : integer);
procedure RenameDirectory(Directory : string; DirHandle : byte;
NewDirectory : string);
procedure RenameObject(WhichObject : string47; WhatType : integer;
NewName : string47);
procedure RestoreEraseFile(VolumeName : string16; DirHandle : byte;
var ErasedFilename, RestoredFilename : string);
procedure RestoreServersRights;
procedure ScanDirectoryForTrustees(Directory : string; DirHandle : byte;
var SequenceNumber : byte;
var FoundDirectory : string16;
var OwnerID : longint;
var CreationDate : longint;
var FiveTrustees : TrusteeIDArray;
var FiveRights : TrusteeRightsArray);
procedure ScanDirectoryInfomation(Directory : string; DirHandle : byte;
var SequenceNumber : integer;
var FoundDirectory : string16;
var OwnerID : longint;
var CreationDate : longint;
var MaximumRightsMask: byte);
procedure ScanFileInformation(FileName : string; DirHandle : byte;
SearchAttribute : byte;
var SequenceNumber : integer;
var FoundFile : string13;
var FileAttributes : byte;
var ExtendedAttributes : byte;
var FileSize : longint;
var OwnerID : longint;
var CreationDate : word;
var LastAccessDate : word;
var LastUpdateDate : longint;
var LastArchiveDate : longint);
procedure ScanObject(ScanMask : string47; ScanType : integer;
var LastSeen : longint;
var FoundName : string47;
var FoundType : integer;
var FoundID : longint;
var FoundFlag : byte;
var FoundSecurity : byte;
var FoundHasProperties : boolean);
procedure ScanObjectTrusteePaths(WhichVolume : byte;
WhichObjectID : longint;
var LastSeen : integer;
var TrusteePath : string;
var TrusteeRights : byte);
procedure ScanProperty(WhichObject : string47; WhatType : integer;
ScanMask : string15;
var LastSeen : longint;
var FoundName : string15;
var FoundFlags : byte;
var FoundSecurity : byte;
var FoundHasValue : boolean;
var MoreProperties : boolean);
procedure SendBroadcastMessage(Message : string55; Connections : string100;
var ResultCodes : string100);
procedure SendConsoleBroadcast(Message : string55; Connections : string100);
procedure SendPersonalMessage(Message : string126; ConnectionList : string100;
var ResultCodes : string100);
procedure ServiceQueueJob(QueueID : longint; TargetServiceType : integer;
var Job : JobEntryRecord);
procedure SetBannerUserName(BannerName : BannerArray);
procedure SetBroadcastMode(NewMode : BroadcastModes);
procedure SetCapturePrintJob(PrintQueueJobNumber : integer;
Device : LPTNames);
procedure SetCapturePrintQueue(PrintQID : longint; Device : LPTNames);
procedure SetDefaultCaptureFlags(var CaptureInfo : CaptureFlags);
procedure SetDefaultLocalPrinter(Device : LPTNames);
procedure SetDirectoryHandle(SourceDirectory : string;
SourceDirHandle, TargetDirHandle : byte);
procedure SetDirectoryInformation(Directory : string; DirHandle : byte;
NewOwner : longint; NewCreationDate : longint;
MaximumRightsMask : byte);
procedure SetEndOfJobStatus(Mode : EndOfJobStatus);
procedure SetErrorMode(Mode : ErrorModes);
procedure SetExtendedFileAttributes(Filename : string; ExtendedAttributes : byte);
procedure SetFileInformation(Filename : string; DirHandle : byte;
SearchAttributes : byte;
FileAttributes,ExtendedAttributes : byte;
OwnerID : longint;
CreationDate,LastAccessDate : integer;
LastUpdateDate,LastArchiveDate : longint);
procedure SetFileServerDateAndTime(NewTime : ServerTimeRecord);
procedure SetLockMode(NewMode : LockModes);
procedure SetPreferredConnectionID(PreferredConnection : byte);
procedure SetPrimaryConnectionID(PrimaryConnection : byte);
procedure SetQueueCurrentStatus(QueueID : longint; QueueStatus : byte);
procedure SetServerCurrentStatus(QueueID : longint;
var ServerStatus : ServerStatusType);
procedure SetSpecificPrintJobFlags(Device : LPTNames;
var CaptureInfo : CaptureFlags);
procedure SignalSemphore(SemaphoreHandle : longint);
procedure SpecifyCaptureFile(Filename : string; DirHandle : byte);
procedure StartLPTCapture;
procedure StartSpecificCapture(Device : LPTNames);
procedure SubmitAccountCharge(WhichObject : string47;
WhatType, ServiceType : integer;
Charge, CancelHoldAmount : longint;
CommentType : CommentTypes; Comment : string);
procedure SubmitAccountHold(WhichObject : string47; WhatType : integer;
AmountToReserve : longint);
procedure SubmitAccountNote(WhichObject : string47; WhatType : integer;
ServiceType : integer;
CommentType : CommentTypes; Comment : string);
procedure TTSAbortTransaction;
procedure TTSBeginTransaction;
procedure TTSEndTransaction(var ReferenceNumber : longint);
procedure TTSGetApplicationTresholds(var LogicalLockThreshold,
PhysicalLockThreshold : byte);
procedure TTSGetWorkstationThresholds(var LogicalLockThreshold,
PhysicalLockThreshold : byte);
function TTSIsAvailable : boolean;
procedure TTSSetApplicationTresholds(LogicalLockThreshold,
PhysicalLockThreshold : byte);
procedure TTSSetWorkstationThresholds(LogicalLockThreshold,
PhysicalLockThreshold : byte);
procedure TTSTransactionStatus(TransactionReferenceNumber : longint);
procedure VerifyObjectPassword(WhichObject : string47; WhatType : integer;
Password : string127);
procedure WaitOnSemaphore(SemaphoreHandle : longint; TimeoutLimit : integer);
procedure WritePropertyValue(WhichObject : string47; WhatType : integer;
WhichProperty : string15; var PropertyValue;
SegmentNumber : integer; MoreSegments : boolean);